from django.template import Library
from django.urls import reverse
from account import models

register = Library()

@register.inclusion_tag('inclusion/menu_list.html')
def menu_list(request):
    menu_list = [
        # reverse的主要作用是将提取的网址进行按照要求的替换，计算得到响应所需要的新的网址的功能，只要对应的 url 的name不改，就不用改代码中的网址。
        # Django 知识库：reverse()路由解析 - 杜赛的文章 - 知乎
        # https://zhuanlan.zhihu.com/p/139292329

        {
            'title': '星 晴',
            'url': reverse("mood"),
            'icon': 'bi bi-heart mr-1',
            'icon_active': 'bi bi-heart-fill mr-1',
            'color': '#ff5da7',
        },
        # {'title': '快乐星球', 'url': reverse("blog", kwargs={'user_id': request.universe.user.id})},
        {
            'title': '快乐星球',
            'url': reverse("mood_image_list"),
            'icon': 'bi bi-star mr-1',
            'icon_active': 'bi bi-star-fill mr-1',
            'color': '#fddd3f',
        },
    ]

    for item in menu_list:
        # 当前用户访问的URL：request.path_info:  /manage/4/issues/xxx/add/
        if request.path_info.startswith(item['url']):
            # 以url开头的网址
            item['class'] = 'active'

    return {'menu_list': menu_list}
